package com.campuscarbooking.api.dto.message;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalTime;

/**
 * Message DTO for schedule updates sent via RabbitMQ
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ScheduleUpdateMessage implements Serializable {
    private Long scheduleId;
    private LocalDate scheduleDate;
    private LocalTime departureTime;
    private LocalTime arrivalTime;
    private String routeDirection; // A_to_B, B_to_A
    private String status; // ACTIVE, CANCELLED, COMPLETED
    private String updateType; // CREATED, UPDATED, CANCELLED
    private BigDecimal price;
    private Integer capacity;
    private Integer bookedSeats;
    private Integer availableSeats;
    private Long driverId;
    private String driverName;
} 